using System;

namespace SharpMud.Net.Telnet.MXP
{
	public enum LineTagType
	{
		/// <summary>
		/// only MXP commands in the "open" category are allowed.  When a newline is received from the MUD, the mode reverts back to the Default mode.  OPEN MODE starts as the Default mode until changes with one of the "lock mode" tags listed below
		/// </summary>
		OpenLine = 0,
		
		/// <summary>
		/// all tags and commands in MXP are allowed within the line.  When a newline is received from the MUD, the mode reverts back to the Default mode.
		/// </summary>
		SecureLine = 1,
		
		/// <summary>
		/// no MXP or HTML commands are allowed in the line.  The line is not parsed for any tags at all.  This is useful for "verbatim" text output from the MUD.  When a newline is received from the MUD, the mode reverts back to the Default mode. 
		/// </summary>
		LockedLine = 2,
		
		/// <summary>
		/// close all open tags.  Set mode to Open.  Set text color and properties to default. 
		/// </summary>
		Reset = 3,
		
		/// <summary>
		/// set secure mode for the next tag only.  Must be immediately followed by a < character to start a tag.  Remember to set secure mode when closing the tag also. 
		/// </summary>
		TempSecureMode = 4,
		
		/// <summary>
		/// set open mode.  Mode remains in effect until changed.  OPEN mode becomes the new default mode. 	
		/// </summary>
		LockOpenMode = 5,
		
		/// <summary>
		/// set secure mode.  Mode remains in effect until changed.  Secure mode becomes the new default mode. 
		/// </summary>
		LockSecureMode = 6,
	
		/// <summary>
		/// set locked mode.  Mode remains in effect until changed.  Locked mode becomes the new default mode. 
		/// </summary>
		LockLockedMode = 7,

		/// <summary>
		/// the line is parsed as the name of a room.  Only used by MUDs that only support tagging for the automapper and do not support the full MXP tag set. 
		/// </summary>
		RoomName = 10,

		/// <summary>
		/// the line is parsed as a description of a room.  Only used by MUDs that only support tagging for the automapper and do not support the full MXP tag set. 
		/// </summary>
		RoomDescription = 11,
	
		/// <summary>
		/// the line is parsed as an exit line for a room.  Only used by MUDs that only support tagging for the automapper and do not support the full MXP tag set. 
		/// </summary>
		RoomExits = 12,
	
		/// <summary>
		/// This text is sent from the MUD at the beginning of a session to welcome the user to the MUD.  This text is not displayed by the client if a <RELOCATE> command has been used.  See the section on Multi-Server MUDs for more details.  Same as the <WELCOME> MXP tag. 
		/// </summary>
		WelcomeText = 19,


//		UserDefined = 20,
//		UserDefined = 21,
//		UserDefined = 22,
//		UserDefined = 23,
//		UserDefined = 24,
//		UserDefined = 25,
//		UserDefined = 26,
//		UserDefined = 27,
//		UserDefined = 28,
//		UserDefined = 29,
//		UserDefined = 30,
//		UserDefined = 31,
//		UserDefined = 32,
//		UserDefined = 33,
//		UserDefined = 34,
//		UserDefined = 35,
//		UserDefined = 36,
//		UserDefined = 37,
//		UserDefined = 38,
//		UserDefined = 39,
//		UserDefined = 40,
//		UserDefined = 41,
//		UserDefined = 42,
//		UserDefined = 43,
//		UserDefined = 44,
//		UserDefined = 45,
//		UserDefined = 46,
//		UserDefined = 47,
//		UserDefined = 48,
//		UserDefined = 49,
//		UserDefined = 50,
//		UserDefined = 51,
//		UserDefined = 52,
//		UserDefined = 53,
//		UserDefined = 54,
//		UserDefined = 55,
//		UserDefined = 56,
//		UserDefined = 57,
//		UserDefined = 58,
//		UserDefined = 59,
//		UserDefined = 60,
//		UserDefined = 61,
//		UserDefined = 62,
//		UserDefined = 63,
//		UserDefined = 64,
//		UserDefined = 65,
//		UserDefined = 66,
//		UserDefined = 67,
//		UserDefined = 68,
//		UserDefined = 69,
//		UserDefined = 70,
//		UserDefined = 71,
//		UserDefined = 72,
//		UserDefined = 73,
//		UserDefined = 74,
//		UserDefined = 75,
//		UserDefined = 76,
//		UserDefined = 77,
//		UserDefined = 78,
//		UserDefined = 79,
//		UserDefined = 80,
//		UserDefined = 81,
//		UserDefined = 82,
//		UserDefined = 83,
//		UserDefined = 84,
//		UserDefined = 85,
//		UserDefined = 86,
//		UserDefined = 87,
//		UserDefined = 88,
//		UserDefined = 89,
//		UserDefined = 90,
//		UserDefined = 91,
//		UserDefined = 92,
//		UserDefined = 93,
//		UserDefined = 94,
//		UserDefined = 95,
//		UserDefined = 96,
//		UserDefined = 97,
//		UserDefined = 98,
//		UserDefined = 99
	}
}
